package com.dyz.wsw.security.config;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 万事屋安全JWT配置类对象
 * @author dyz
 * @date 2025/2/16 18:05
 */
@Slf4j
@Data
@ConfigurationProperties("wsw.security.jwt")
@Component
public class WswSecurityJWTProperties {

    public WswSecurityJWTProperties(){
        log.debug("创建万事屋jwt安全配置类对象: WswSecurityJWTProperties");
    }

    /**
     * 公钥
     */
    private String publicKey;

    /**
     * 私钥
     */
    private String privateKey;

    /**
     * jwt前缀，默认Bearer
     */
    private String jwtPrefix = "Bearer ";

    /**
     * jwt过期时间(单位：分钟)
     * 默认15分钟
     */
    private Integer jwtExpiredTime = 15;

    /**
     * 令牌最长有效期(单位：分钟)
     * 默认60分钟
     */
    private Integer jwtMaxExpireTime = 60;

    /**
     * 不需要检验jwt的请求
     * 完全匹配
     */
    private List<String> permitUri;
}
